<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>对象</title>
    <script>
        /*
        对象的分类：
	        1.内建对象
		        -由ES标准中定义的对象，在任何的ES的实现中都可使用
		        -比如：Math String Number Boolean Function Object
	        2.宿主对象
		        -由JS的运行环境提供的对象，主要指由浏览器提供的对象
		        -比如BOM DOM
        	3.自定义对象
		        -由开发人员自己创建的对象
        */

        /*
            由构造函数创建对象
                var obj = new Object();
        
            也可由对象字面量来创建一个对象
                -var obj = {};
                 obj.name = "acs";
                或   {属性名：属性值,属性名：属性值...}   类似是python字典
                -var obj = {
                    name:"abc",
                    age:18
                    };
        */

        var obj = new Object();
        /*
            在对象中保存的值叫做属性
            向对象添加属性  语法：对象.属性 = 属性值
        */
        obj.name = '苦命人';
        obj.gender = '男';
        obj.age = 25;
        console.log(obj);

        /*
            如果使用特殊的属性名  语法：对象["属性名"] = 属性值      
            读取也采用这种方法  
        */
        obj['14￥%@'] = '乱七八糟';

        /*
            检查obj中是否有test这个属性
            "属性名" in 对象
        */
        console.log('test' in obj);
        /*
        读取对象中的属性   语法： 对象.属性名
        如果读取对象中没有的属性，不会报错，而是会返回undefined

        删除对象的属性  语法： delete 对象.属性名
        */
        delete obj.age;
        console.log(obj);
    </script>
</head>
<body>
    
</body>
</html>